package com.taru.houseapp.dao;

import com.taru.houseapp.entity.Order;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
public interface IOrderDao {
    /**
     * 提交预约
     * @param order
     * @return
     */
    int insertOrder(Order order);

    /**
     * 租房人查看自己预约
     * @param userId
     * @param code
     * @return
     */
    List<Order> queryRentInUserOrder(@Param("userId") String userId,@Param("code") String code);

    /**
     * 预约详情（租房人角度）
     * @param orderId
     * @return
     */
    Order queryRentInUserOrderById(String orderId);

    /**
     * 取消预约
     * @param orderId
     * @return
     */
    int updateOrderIsSuccess(String orderId);

    /**
     * 租房人确认租房
     * @param orderId
     * @return
     */
    int updateOrderIsRentHouse(String orderId);

    /**
     * 房东查看预约
     * @param userId
     * @param code
     * @return
     */
    List<Order> queryOrderByRentOutUser(@Param("userId") String userId,@Param("code") String code);

    /**
     * 房东审核预约
     * @param orderId
     * @return
     */
    int updateRentOutIsSuccess(String orderId);

    /**
     * 房东查看预约详情
     * @param orderId
     * @return
     */
    Order queryRentOutUserOrderById(String orderId);

    /**
     * 判断当前的人能不能预约
     * @param userId
     * @param houseId
     * @return
     */
    Order queryOederIsOk(@Param("userId") String userId,@Param("houseId") String houseId);

    /**
     * 租房人已评价
     * @param orderId
     * @return
     */
    int updateOrderIsComment(String orderId);
}
